package com.csust.cg.mongodb.domain.vo;

import lombok.Data;

import javax.validation.constraints.NotBlank;
import java.util.List;
import java.util.Map;

/**
 * @author chenguang
 */
@Data
public class QueryVO {

    /**
     * 数据库名
     */
    @NotBlank(message = "databaseName can't empty")
    private String databaseName;

    /**
     * 集合名
     */
    @NotBlank(message = "collectionName can't empty")
    private String collectionName;

    /**
     * 当前页
     */
    private Integer currentPage;

    /**
     * 每页大小，默认10
     */
    private Integer pageSize;

    /**
     * 跳过数量
     */
    private Integer skip;

    /**
     * 条件字段，filed(字段):value
     */
    private List<Map<String, String>> filters;

    /**
     * 字段映射，filed(字段):0(不包含) or 1(包含)
     */
    private List<Map<String, String>> projects;

    /**
     * 排序规则，filed(字段):-1(降) or 1(升)
     */
    private List<Map<String, String>> sorts;

    /**
     * 连接集合字段，filed(字段):value
     */
    private List<Map<String, String>> collections;

}
